-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Run gRPC service independently #158
Conversation
I put this PR as a draft to validate the implementation. Please let me know if I am moving in the right track. |
c3ac50b
to
cf7a861
Compare
you'll also need to update the Vulkan side as well, otherwise the server will be started twice for Vulkan application. |
b32a615
to
952b9b9
Compare
I added also a global object to initialize the server for an Vulkan app, however, it is not working. It seems the server is closed. When I move the server initialization to |
Did you find out why? In theory it should, as it's just move the place of initialization. |
I have updated this PR which now works for all tests I have. To addres this now the gRPC Server starts when the library loads for the first time. Then, a function prevents the library from being unloaded. This keeps both the library and server loaded exactly once, even if apps try to reload or close them. In this way, the Server lives for the entire lifecycle of the app. |
The loading/unloading behavior of the Vulkan/OpenXR Dive layer library varies significantly across Android applications. For example for Vulkan apps it loads - unloads - reloads the library during execution. For an Unity-based OpenXR app that creates two instances, the behavior is the same. The gRPC Server starts when the library loads for the first time. Then, a function prevents the library from being unloaded. This keeps both the library and server loaded exactly once, even if apps try to reload or close them. In this way, the Server lives for the entire lifecycle of the app.
I updated the PR to support Windows as well. |
I tested on Windows, and everything work fine. |
No description provided.